package response

// NodeStatisticsResponse 节点 负载响应
type NodeStatisticsResponse struct {
	TotalNodes         int     `json:"totalNodes"`
	TotalGPUs          int     `json:"totalGpus"`
	AverageGPULoadRate float64 `json:"averageGpuLoadRate"` // 平均GPU负载率
	AverageCPULoadRate float64 `json:"averageCpuLoadRate"` // 平均CPU负载率
}

// GPUUtilizationTrendResponse cpu/gpu利用率历史趋势响应
type GPUUtilizationTrendResponse struct {
	TimeSeries TimeSeriesResponse `json:"_"`
}

// StorageTrendResponse 存储利用率趋势响应
type StorageTrendResponse struct {
	TimeSeries TimeSeriesResponse `json:"_"`
}

// EventStatisticsResponse 运维事件统计响应
type EventStatisticsResponse struct {
	EventCount       int `json:"eventCount"`       // 事件总数
	FailureCount     int `json:"failureCount"`     // 故障总数
	HealthyGPUCount  int `json:"healthyGpuCount"`  // 健康GPU数量
	AbnormalGPUCount int `json:"abnormalGpuCount"` // 异常GPU数量
}

// IdcClusterResponse idc-clusters映射响应
type IdcClusterResponse struct {
	IdcCount int   `json:"idcCount"`
	Idcs     []IDC `json:"idcs"`
}

// RackResourcesResponse 机柜信息统计响应
type RackResourcesResponse struct {
	TotalRacks          int     `json:"totalRacks"`
	TotalUunits         int     `json:"totalUunits"`
	RackUtilizationRate float64 `json:"rackUtilizationRate"`
	RackSpecifications  int     `json:"rackSpecifications"`
}
